package br.com.automed.entity;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import javax.persistence.Entity;

import org.hibernate.annotations.GenericGenerator;

@Entity
@Table(name="CM_MEDICAMENTO")
@NamedQueries({
	@NamedQuery(name="listarMedicamento", query="FROM Medicamento m ORDER BY m.medicamento")
})
public class Medicamento {
	
	public static final String NAMED_QUERY_LIST_MEDICAMENTO = "listarMedicamento";
	
	@Id
    @GeneratedValue(generator = "system-uuid", strategy=GenerationType.AUTO)
    @GenericGenerator(name = "system-uuid", strategy = "uuid")
    @Column(name = "ID_MEDICAMENTO")
	private String idMedicamento;
	
	@Column(name = "ST_MEDICAMENTO")
	private String medicamento;
	
	@Column(name = "ST_POSOLOGIA")
	private String posologia;
	
	@Column(name = "ST_SUBSTANCIA")
	private String substancia;
	
	@Column(name = "ST_GENERICO")
	private String generico;
	
	@Column(name = "ST_CONTRAINDICACAO")
	private String contraindicacao;

	@Column(name = "ST_LABORATORIO")
	private String laboratorio;
	
	@OneToMany(mappedBy="medicamento")
	private List<Receita> receitas;
	
	@ManyToMany(mappedBy="medicamentos")
	private List<Prontuario> prontuarios;

	public String getIdMedicamento() {
		return idMedicamento;
	}

	public void setIdMedicamento(String idMedicamento) {
		this.idMedicamento = idMedicamento;
	}

	public String getMedicamento() {
		return medicamento;
	}

	public void setMedicamento(String medicamento) {
		this.medicamento = medicamento;
	}

	public String getPosologia() {
		return posologia;
	}

	public void setPosologia(String posologia) {
		this.posologia = posologia;
	}

	public String getSubstancia() {
		return substancia;
	}

	public void setSubstancia(String substancia) {
		this.substancia = substancia;
	}

	public String getGenerico() {
		return generico;
	}

	public void setGenerico(String generico) {
		this.generico = generico;
	}

	public String getContraindicacao() {
		return contraindicacao;
	}

	public void setContraindicacao(String contraindicacao) {
		this.contraindicacao = contraindicacao;
	}

	public String getLaboratorio() {
		return laboratorio;
	}

	public void setLaboratorio(String laboratorio) {
		this.laboratorio = laboratorio;
	}

	public List<Receita> getReceitas() {
		return receitas;
	}

	public void setReceitas(List<Receita> receitas) {
		this.receitas = receitas;
	}

	public List<Prontuario> getProntuarios() {
		return prontuarios;
	}

	public void setProntuarios(List<Prontuario> prontuarios) {
		this.prontuarios = prontuarios;
	}

}
